0 GOTO 100 1 REM MAG READER V7.2 2 REM (C) 1986 DAVID A. HOOK 3 : 9 REM DISPLAY A SCREEN 10 PRINT "[147][146]";: OPEN 2, 8, 2, F$ 11 FOR I = FL TO LL 12 PRINT# 15, "P" + CHR$(2) + CHR$(I AND 255) + CHR$(I/256) + CHR$(1) 13 SYS AD 14 L=PEEK(142) 15 PRINT LEFT$(A$,L); 16 IFL<40 THEN PRINT CHR$(13); 17 POKE 212, 0: NEXT: CLOSE 2: RETURN 18 : 100 IF LK GOTO 600: REM AFTER PICTURE LOADS 110 POKE 55, 0: POKE 56, 32: CLR 120 A$="ABCDEFGHIJKLMNOPQRST": A$=A$+A$ 130 : 140 REM BKGD, CHAR COLORS 150 READ BB, CH 160 POKE 53280, BB: POKE 53281, BB: POKE 646, CH 170 : 180 REM PIC NAME, TYPE, BORDER COLOR 190 READ PF$, T$, KF 200 POKE 2, 2 + 2*(T$="K") + (T$="D") 202 REM # EXTRA PICTURES 203 READ E 205 IF E=0 GOTO 230 207 DIM P(E), F$(E), T$(E), C(E) 208 FOR I=1 TO E: READ P(I), F$(I), T$(I), C(I) 209 IF T$(I)="K" THEN F$(I)=CHR$(129)+LEFT$(F$(I)+" ",14) 211 IF T$(I)="D" THEN F$(I)="DD"+F$(I) 212 NEXT 214 PS=0: PL=0 220 REM ISSUE FILE NAME 230 READ F$ 240 : 250 REM MAG TITLE, ISSUE MONTH 260 READ MT$, MO$ 270 : 280 CD$="" 290 SP$=" " 300 : 310 GOSUB 1000: REM HELP 320 : 330 LP=25: AD=896: ML=49152: IF PEEK(AD)-160 THEN GOSUB 8000: REM READ DATA 340 : 350 OPEN 15, 8, 15, "I0" 360 : 370 REM GET TOTAL LINE COUNT 380 OPEN 2, 8, 2, F$ 390 SYS AD 400 LN=VAL(A$)-1: PG=LN/LP 410 CLOSE 2 420 IF LN<1 OR PG<>INT(PG) THEN PRINT: PRINT " FILE ERROR": CLOSE 15: STOP 430 : 440 REM SKIP THE LOAD IF NO HI-RES PICTURE INCLUDED 450 LK=1: IF PEEK(2)>1 THEN LK=2: GOTO 600 460 : 470 REM ADD SPECIAL CHARACTERS TO PICTURE FILE NAME 480 IF T$="K" THEN PF$=CHR$(129)+LEFT$(PF$+" ",14) 490 IF T$="D" THEN PF$="DD"+PF$ 500 : 510 LOAD PF$, 8, 1 520 : 530 END: REM NEVER GETS HERE 540 : 599 REM DISPLAY PICTURE 600 GOSUB 2000 601 GOSUB 2100 610 : 799 REM MAIN LOOP 800 GOSUB 5000: REM SCREEN PROMPT 810 GOSUB 3000: REM GET FN KEY 820 GOTO 800 830 : 999 REM HELP SCREEN 1000 PRINT "[147]"; TAB(14); "[200]ELP [211]CREEN" 1010 PRINT TAB(14); "[163][163][163][163][163][163][163][163][163][163][163]" 1020 PRINT " [217]OU MAY RETURN HERE BY PRESSING F2[146]." 1030 PRINT " F1[146] -- [212]ABLE OF [195]ONTENTS" 1040 PRINT " F2[146] -- [212]HIS [200][197][204][208] [211]CREEN" 1050 PRINT " F3[146] -- [199]O TO A [211]CREEN (BY ITS NUMBER)" 1060 PRINT " F5[146] -- [208]REVIOUS [211]CREEN" 1070 PRINT " F7[146] -- [206]EXT [211]CREEN" 1080 PRINT " F8[146] -- [209]UIT [205]AGAZINE" 1090 PRINT " [212]HESE PROGRAMS WERE DEVELOPED BY:" 1100 PRINT TAB(13); "[196]AVID [193]. [200]OOK" 1110 PRINT " FOR THE [194][193][210][210][201][197] [213][211][197][210] [199][210][207][213][208] ([194][213][199])" 1120 PRINT " [197]NTIRE CONTENTS OF THIS MAGAZINE ARE" 1130 PRINT " (C) 1986 BY THE [193]UTHORS WITHIN." 1140 IF LK THEN SC=0: GOTO 5000 1150 PRINT " [211]TRIKE [211][208][193][195][197] TO EXIT THE COVER PAGE." 1160 IF PEEK(2)<>2 THEN M$="([201]T'S NOW LOADING...)": GOSUB 5200: PRINT 1170 M$="[208]LEASE [211]TAND [194]Y..." 1180 GOTO 5100 1190 : 1999 REM DISPLAY PICTURE 2000 IF LK=2 GOTO 2040 2010 POKE 53280, KF: SYS ML 2020 : 2030 REM WAIT FOR A KEY PRESS 2040 POKE 198, 0: WAIT 198, 1 2050 POKE 53265, PEEK(53265) AND 223 2060 POKE 53270, PEEK(53270) AND 239 2070 POKE 53272, (PEEK(53272) AND 240) OR 4 2080 POKE 53280, BB: POKE 53281, BB: POKE 646, CH 2081 PRINT "[147][146]": RETURN 2090 : 2100 REM MONTHLY ISSUE SCREEN 2110 PRINT "[147][146]"; 2120 M$=MT$: GOSUB 5200 2130 PRINT: PRINT: M$=MO$: GOSUB 5200 2140 SC=0 2150 : 2160 RETURN 2170 : 2999 REM GET A FUNCTION KEY 3000 CP=SC 3010 GET K$: IF K$<"[133]" OR K$>"[140]" GOTO 3010 3020 ON ASC(K$)-132 GOSUB 3100, 3300, 3500, 3700, 3200, 3030, 3030, 3800 3030 RETURN 3040 : 3100 SC=1: GOSUB 4000: GOTO 10 3110 : 3200 GOTO 1000 3210 : 3300 M$="[211][195][210][197][197][206] " + STR$(CP)+ " [197]NTER [208]AGE # ?[157]": GOSUB 5100 3310 GOSUB 6000: IF SC=0 GOTO 2000 3320 GOSUB 4000: GOTO 10 3330 : 3500 SC=CP-1: GOSUB 4000: IF SC=0 GOTO 2000 3510 GOTO 10 3520 : 3700 SC=CP+1: GOSUB 4000: GOTO 10 3710 : 3800 CLOSE 15: POKE55, 0: POKE 56, 160: CLR: END 3810 : 3999 REM SET PAGE PARAMETERS 4000 IF SC>PG THEN SC=PG 4010 IF SC<1 THEN SC=0: GOTO 4030 4020 FL=(SC-1)*LP + 2: LL=SC*LP + 1 4022 IF E=0 GOTO 4030 4024 OF=0: IF SC0 THEN PRINT K$: GOTO 6080 6030 IF K$=CHR$(20) AND K>0 THEN K=K-1: SC$=LEFT$(SC$,K): PRINT K$; 6040 IF K=4 THEN PRINT: GOTO 6080 6050 IF K$<"0" OR K$>"9" GOTO 6010 6060 SC$=SC$+K$: K=K+1: PRINT K$; 6070 GOTO 6010 6080 SC=VAL(SC$): RETURN 6090 : 6999 REM BKGD, CHAR COLORS 7000 DATA 1, 14 7010 : 7099 REM PIC NAME, TYPE, BORDER COLOR 7100 DATA "MAY 86 BUG", "K", 14 7110 : 7119 REM # EXTRA PICS 7121 DATA 5 7149 REM PAGE, NAME, TYPE, BORDER 7151 DATA 3, "PIC J FLAGS", "K", 12 7152 DATA 8, "LADY", "D", 13 7153 DATA 12, "BLUE JAYS", "K", 6 7154 DATA 18, "MIDDLE EARTH", "D", 1 7155 DATA 24, "PIC O AMIGA", "K", 7 7156 : 7199 REM ISSUE FILE NAME 7200 DATA "DEMO" 7210 : 7299 REM MAG TITLE, ISSUE MONTH 7300 DATA "[193] [196][197][205][207] [206]EWSLETTER", "[202]ULY 1986" 7310 : 7999 REM READ & STORE ML 8000 CK=0: FOR I=AD TO AD+41: READ DA: POKE I,DA: CK=CK+DA: NEXT 8010 IF CK<>6121 THEN PRINT "ERROR IN DATA": STOP 8020 : 8030 CK=0: FOR I=ML TO ML+127: READ DA: POKE I,DA: CK=CK+DA: NEXT 8040 IF CK<>17262 THEN PRINT "ERROR IN DATA": STOP 8050 : 8060 RETURN 8070 : 8080 REM C64 STRING THING DATA (FILE 2) 8090 DATA 160,2,177,45,153,137,0,200,192,6,208,246,162,2 8100 DATA 32,198,255,32,228,255,201,13,240,15,164,142,145,140 8110 DATA 200,132,142,196,139,240,4,165,144,240,234,76,204,255 8120 : 8130 REM ML DATA FOR MAG DISPLAY 8140 DATA 173,17,208,41,239,141,17,208,164,2,208,43,169,40,133,251 8150 DATA 162,131,134,252,162,4,169,216,160,0,32,109,192,173,22,208 8160 DATA 41,191,9,16,141,22,208,173,16,135,141,33,208,169,64,133 8170 DATA 251,162,127,134,252,208,8,169,0,133,251,162,92,134,252,169 8180 DATA 4,170,160,0,32,109,192,132,251,162,96,134,252,162,32,169 8190 DATA 32,32,109,192,173,17,208,9,34,141,17,208,173,24,208,9 8200 DATA 8,141,24,208,173,17,208,9,16,141,17,208,96,132,253,133 8210 DATA 254,177,251,145,253,200,208,249,230,252,230,254,202,208,242,96